import axios from "axios";
import { Toast } from "vant";

// 也可以使用自定义配置新建一个axios实例
const instance = axios.create({
  baseURL: "http://47.99.177.245:3000/api",
  // 指定请求超时的毫秒数(0 表示无超时时间)
  timeout: 3000,
  // 表示服务器响应的数据类型 默认是json格式
  responseType: "json",
});

const http = {
  //get传进来的参数是查询字符串
  get(url, params) {
    return new Promise((resolve) => {
      return instance
        .get(url, {
          params,
        })
        .then((response) => {
          resolve(response);
        })
        .catch((err) => {
          Toast.fail(err);
        });
    });
  },

  post(url, data) {
    return new Promise((resolve) => {
      return instance
        .post(url, data)
        .then((response) => {
          resolve(response);
        })
        .catch((err) => {
          Toast.log(err);
        });
    });
  },
};

// 添加请求拦截器
instance.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);

// 添加响应拦截器
instance.interceptors.response.use(
  function (response) {
    // 对响应回来的数据做点什么
    return response.data;
  },
  function (error) {
    return Promise.reject(error);
  }
);

export default http;
